package org.jrs.adaptadorDeJuegos;

import java.util.Hashtable;

public class JuegoAdaptadorTablero extends JuegoAdaptador{

        private Hashtable<Integer, String> mapaImagenes;
        
        public JuegoAdaptadorTablero() {
                super();
        }

        public JuegoAdaptadorTablero(Class imagenesClase) {
                super(imagenesClase);
        }

        public JuegoAdaptadorTablero(int tiempoRepintar, Class imagenesClase) {
                super(tiempoRepintar, imagenesClase);
        }

        public JuegoAdaptadorTablero(int tiempoRepintar) {
                super(tiempoRepintar);
        }

        public void pintarTablero(int tablero[][], int dx, int dy, int ex, int ey){
                if (mapaImagenes!=null){
                        for (int n=0;n<tablero.length;n++){
                                for (int m=0;m<tablero[n].length;m++){
                                        if (mapaImagenes.containsKey(tablero[n][m])){
                                                pintarImagen(mapaImagenes.get(tablero[n][m]), m*ex+dx, n*ey+dy);
                                        }
                                }
                        }
                }
        }
        
        public void pintarTableroLineas(int tablero[][], int dx, int dy, int ex, int ey, int color){
                for (int n=0;n<tablero.length;n++){
                        for (int m=0;m<tablero[n].length;m++){
                                pintarCuadradoRelleno(m*ex+dx, n*ey+dy, ex, ey, color);
                        }
                }
        }

        public void pintarTableroLineas(int tablero[][], int dx, int dy, int ex, int ey, int color, int colorContorno){
                for (int n=0;n<tablero.length;n++){
                        for (int m=0;m<tablero[n].length;m++){ 
                                pintarCuadradoRelleno(m*ex+dx, n*ey+dy, ex, ey, color);
                                pintarCuadrado(m*ex+dx, n*ey+dy, ex, ey, colorContorno);
                        }
                }
        }

        public void setMapaImagenes(Hashtable<Integer, String> mapaImagenes){
                this.mapaImagenes=mapaImagenes;
        }
        
        public void verificarPulsacionCasilla(int xPulsado, int yPulsado, int tablero[][], int dx, int dy, int ex, int ey){
                if (xPulsado<dx) return; 
                if (yPulsado<dy) return;
                if (xPulsado>dx*tablero[0].length*ex) return;
                if (yPulsado>dy*tablero.length*ey) return;
                int fila=(yPulsado-dy)/ey;
                int columna=(xPulsado-dx)/ex;
                eventoTableroPulsaCasilla(fila, columna);
        }
        
        public void eventoTableroPulsaCasilla(int fila, int columna){
        }
        

}
